package com.dhnsoft.shortLink.project.dao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dhnsoft.shortLink.project.dao.entity.LinkLocaleStatsDO;
import com.dhnsoft.shortLink.project.dto.req.ShortLinkStatsReqDTO;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * ClassName: LinkLocaleStatsMapper
 * Package: com.dhnsoft.shortLink.project.dao.mapper
 * Description: 地区访问数据持久层
 *
 * @Author dhn
 * @Create 2024/4/6 14:29
 * @Version 1.0
 */
public interface LinkLocaleStatsMapper extends BaseMapper<LinkLocaleStatsDO> {

    @Insert("insert into t_link_locale_stats(full_short_url,gid,date,cnt,country,province,city,adcode,create_time,update_time,del_flag)" +
            "values(#{linkLocaleStats.fullShortUrl},#{linkLocaleStats.gid},#{linkLocaleStats.date},#{linkLocaleStats.cnt}" +
            ",#{linkLocaleStats.country},#{linkLocaleStats.province},#{linkLocaleStats.city},#{linkLocaleStats.adcode},now(),now(),0)ON DUPLICATE KEY UPDATE cnt=cnt+#{linkLocaleStats.cnt}," +
            "update_time=now()")
    void linkLocaleStats(@Param("linkLocaleStats") LinkLocaleStatsDO linkLocaleStatsDO);

    List<LinkLocaleStatsDO> listLocaleByShortLink(@Param("param") ShortLinkStatsReqDTO requestParam);
}
